﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using ProntuarioEletronicoMobile.Banco;
using ProntuarioEletronicoMobile.Repositorio;

namespace UnitTestWP
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        [Description("Teste de Construtor Médico no Windows Phone")]
        public void TestMedicoConstrutor()
        {
            Medico medicoTest = new Medico
            {
                IDMedico = 0,
                NomeMedico = "Médico Administrador",
                SexoMedico = 'M',
                DataNascMedico = "01/01/1982",
                CpfMedico = "703.071.414-89",
                EmailMedico = "admin@prontuarioeletronico.com.br",
                CrmMedico = "0777",
                UfcrmMedico = "PE",
                DataInscricaocrmMedico = "01/12/2010",
                EspecializacaoMedico = "Medicina Diagnóstica",
                RgMedico = "1.453.098",
                EmissorRgMedico = "SDS/PE",
                TituloEleitorMedico = "1187 2309 3246 013 013",
                UsuarioMedico = "admin",
                SenhaMedico = "123456"
            };

            Assert.AreEqual(0, medicoTest.IDMedico);
            Assert.AreEqual("Médico Administrador", medicoTest.NomeMedico);
            Assert.AreEqual('M', medicoTest.SexoMedico);
            Assert.AreEqual("01/01/1982", medicoTest.DataNascMedico);
            Assert.AreEqual("703.071.414-89", medicoTest.CpfMedico);
            Assert.AreEqual("admin@prontuarioeletronico.com.br", medicoTest.EmailMedico);
            Assert.AreEqual("0777", medicoTest.CrmMedico);
            Assert.AreEqual("PE", medicoTest.UfcrmMedico);
            Assert.AreEqual("01/12/2010", medicoTest.DataInscricaocrmMedico);
            Assert.AreEqual("Medicina Diagnóstica", medicoTest.EspecializacaoMedico);
            Assert.AreEqual("1.453.098", medicoTest.RgMedico);
            Assert.AreEqual("SDS/PE", medicoTest.EmissorRgMedico);
            Assert.AreEqual("1187 2309 3246 013 013", medicoTest.TituloEleitorMedico);
            Assert.AreEqual("admin", medicoTest.UsuarioMedico);
            Assert.AreEqual("123456", medicoTest.SenhaMedico);
        }

        [TestMethod]
        [Description("Teste de Login no Windows Phone")]
        public void TestLoginWP()
        {
            Medico medicoTest = new Medico
            {
                IDMedico = 0,
                NomeMedico = "Médico Administrador",
                SexoMedico = 'M',
                DataNascMedico = "01/01/1982",
                CpfMedico = "703.071.414-89",
                EmailMedico = "admin@prontuarioeletronico.com.br",
                CrmMedico = "0777",
                UfcrmMedico = "PE",
                DataInscricaocrmMedico = "01/12/2010",
                EspecializacaoMedico = "Medicina Diagnóstica",
                RgMedico = "1.453.098",
                EmissorRgMedico = "SDS/PE",
                TituloEleitorMedico = "1187 2309 3246 013 013",
                UsuarioMedico = "admin",
                SenhaMedico = "123456"
            };

            MedicoDataContext mdc = new MedicoDataContext(@"isostore:/MedicoDB.sdf");
            Medico teste_medico = mdc.login_medico(medicoTest.UsuarioMedico);

            Assert.AreEqual(medicoTest.UsuarioMedico, teste_medico.UsuarioMedico);
            Assert.AreEqual(medicoTest.SenhaMedico, teste_medico.SenhaMedico);
            Assert.AreEqual("admin", teste_medico.UsuarioMedico);
            Assert.AreEqual("123456", teste_medico.SenhaMedico);
        }
    }
}
